package com.jyw.business.obstacles.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.experimental.Tolerate;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jyw.common.annotation.Excel;
import com.jyw.common.core.domain.BaseEntity;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

/**
 * 工单基本信息对象 obs_order_info
 * 
 * @author system
 * @date 2023-08-10
 */
@Data
@TableName("obs_order_info")
@ApiModel("工单基本信息实体")
@Builder
public class ObsOrderInfo
{
    private static final long serialVersionUID = 1L;

    /** 工单主键 */
    @ApiModelProperty("工单主键")
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 工单号 */
    @ApiModelProperty("工单号")
    @Excel(name = "工单号")
    private String orderNum;

    /** 报修科室 */
    @ApiModelProperty("报修科室")
    @Excel(name = "报修科室")
    private Long deptId;

    /** 报修地址 */
    @ApiModelProperty("报修地址")
    @Excel(name = "报修地址")
    private String place;

    /** 报修电话 */
    @ApiModelProperty("报修电话")
    @Excel(name = "报修电话")
    private String phone;

    /** 报修人 */
    @ApiModelProperty("报修人")
    @Excel(name = "报修人")
    private String user;

    /** 故障地址 */
    @ApiModelProperty("故障地址")
    private String faultAddress;

    /** IP地址ID多条JSON */
    @ApiModelProperty("IP地址ID多条JSON")
    private String ipAddressId;

    /** 服务台（接听人） */
    @ApiModelProperty("服务台（接听人）")
    @Excel(name = "服务台", readConverterExp = "接=听人")
    private Long reception;

    /** 录音信息 */
    @ApiModelProperty("录音信息")
    @Excel(name = "录音信息")
    private String recording;

    /** 0已接，1呼出，2未接 */
    @ApiModelProperty("0已接，1呼出，2未接")
    @Excel(name = "0已接，1呼出，2未接")
    private Integer callType;

    /** 状态-1删除，0自动录入,1手动录入,2关联 */
    @ApiModelProperty("状态-1删除，0自动录入,1手动录入,2关联")
    @Excel(name = "状态-1删除，0自动录入,1手动录入,2关联")
    private Integer orderState;

    /** 是否已建单(0未建1已建) */
    @ApiModelProperty("是否已建单(0未建1已建)")
    @Excel(name = "是否已建单(0未建1已建)")
    private Integer createOrderFault;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 修改时间 */
    @ApiModelProperty("修改时间")
    private Date updateTime;

    /** 关联工单号 */
    @ApiModelProperty("关联工单号")
    @Excel(name = "关联工单号")
    private String linkedCode;

    /** 关联类型(1:催单2重报3撤消) */
    @ApiModelProperty("关联类型(1:催单2重报3撤消)")
    @Excel(name = "关联类型(1:催单2重报3撤消)")
    private Integer linkedType;

    /** 处置类型 */
    @ApiModelProperty("处置类型")
    @Excel(name = "处置类型")
    private String dealType;

    /** 找人标识 */
    @ApiModelProperty("找人标识")
    @Excel(name = "找人标识")
    private Long findUser;

    @Tolerate
    public ObsOrderInfo() {
    }
}
